Skip to content

[Backport release-23.11] checkpointBuildTools: init#279953

Merged
roberth merged 6 commits intoNixOS:release-23.11from
bryango:backport-279487-to-release-23.11
Jan 13, 2024
Merged

[Backport release-23.11] checkpointBuildTools: init#279953
roberth merged 6 commits intoNixOS:release-23.11from
bryango:backport-279487-to-release-23.11

Conversation

@bryango
Copy link
Member

@bryango bryango commented Jan 10, 2024

Description of changes

Human-based backport of #279487, #167670 and part of #278777 to release-23.11, following instructions from the bot in #279487 (comment).

Note that the initial PR #167670 is actually, not in 23.11, so for this update to apply consistently, I have to backport the parenst as well, therefore the subject has become checkpointBuildTools: init:

rev=$(
  # rev of the merge commit from #167670
  curl https://api.github.com/repos/NixOS/nixpkgs/pulls/167670 \
  | jq --raw-output .merge_commit_sha
)
git cherry-pick -x "$rev" --mainline=1

rev=69460711750d4bb4718516fdb155145e922ff610 # fix eval
git cherry-pick -x "$rev"

If this is undesired, feel free to close! @roberth

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

dasJ and others added 4 commits January 10, 2024 10:29
incremental builds: add derivation override functions

(cherry picked from commit 5eed541)
All other functions are in the form of `*{c,C}heckpointBuild*`, so we
deprecate the `mkCheckpointedBuild` function in favor of `mkCheckpointBuild`.

Also address some inconsistencies in the docs: some `buildOutput` should
actually be `incrementalBuildArtifacts`.

(cherry picked from commit df62c3c)
Add some minor improvements of the package, and use temp files for the
source difference patch, such that it is more reliable. This follows
from the suggestions of @infinisil.

Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
(cherry picked from commit 5f3aad0)
... following suggestions from @phip1611 and @infinisil.

(cherry picked from commit d7253be)
@github-actions github-actions bot added the 8.has: documentation This PR adds or changes documentation label Jan 10, 2024
@bryango bryango requested a review from roberth January 10, 2024 02:57
Was broken since introduced, but not caught due to
NixOS#271123 (comment)

(cherry picked from commit 6946071)
@ofborg ofborg bot added 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. labels Jan 10, 2024
@bryango
Copy link
Member Author

bryango commented Jan 10, 2024

@ofborg build tests.checkpointBuildTools

});

mkCheckpointedBuild = lib.warn
"`mkCheckpointedBuild` is deprecated, use `mkCheckpointBuild` instead!"
Copy link
Member

@roberth roberth Jan 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"`mkCheckpointedBuild` is deprecated, use `mkCheckpointBuild` instead!"
"`mkCheckpointedBuild` is deprecated; use `mkCheckpointBuild` instead."

"," doesn't join sentences; only clauses. However, ";" can and "." does.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I actually expected a change to this line, reading about alias warnings, but apparently we're allowed to warn in this attribute. Not sure why, or whether this means we could warn in the aliases file, but great!

Copy link
Member Author

@bryango bryango Jan 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whoops, indeed! I will try to "forward-port" the grammar fix to master next time, perhaps bundled with some other improvements of checkpointBuildTools.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not a big deal tbh, but I just can't help it.

@delroth delroth added the 12.approvals: 1 This PR was reviewed and approved by one person. label Jan 11, 2024
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
@delroth delroth removed the 12.approvals: 1 This PR was reviewed and approved by one person. label Jan 11, 2024
@bryango bryango added the 12.approvals: 1 This PR was reviewed and approved by one person. label Jan 11, 2024
@delroth delroth removed the 12.approvals: 1 This PR was reviewed and approved by one person. label Jan 11, 2024
@bryango bryango added the 12.approvals: 1 This PR was reviewed and approved by one person. label Jan 12, 2024
@delroth delroth removed the 12.approvals: 1 This PR was reviewed and approved by one person. label Jan 12, 2024
@bryango bryango requested a review from roberth January 12, 2024 15:40
@roberth roberth merged commit 2ef8717 into NixOS:release-23.11 Jan 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

8.has: documentation This PR adds or changes documentation 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants